李飛飛,阿里巴巴集團副總裁、阿里云數據庫產品事業部負責人,也是達摩院的數據庫首席科學家,任達摩院數據庫和存儲研究實驗室的主任。他在加入阿里巴巴之前是猶他大學計算學院的教授。他的研究興趣包括數據庫系統、大規模數據管理、數據安全、數據分析以及用于系統性能和監控的機器學習方法。同時,他還是ACM Transactions on Database Systems(ACM TODS)期刊的副主編,曾多次擔任ACM SIGMOD和ACM SIGKDD的高級區域主席,并擔任過各種領導角色(如總聯合主席)和多個ACM SIGMOD會議的項目委員會成員。
近日,ACM對李飛飛進行了一次訪談,內容主要涉及李飛飛團隊在阿里巴巴云基礎建設方面的目標規劃、云原生數據庫系統的運用、對漫游連接算法的介紹,以及機器學習技術在電子商務中的巨大影響。最后,李飛飛還談到了他關于學界與業界工作差異的感悟。
本文將采訪編譯如下:
ACM:作為阿里巴巴數據庫首席科學家,您關于公司云基礎設施建設的總體目標是什么?
李飛飛:我們團隊的主要目標是為阿里巴巴自身的業務運營和阿里云上企業客戶構建尖端的、世界級的云原生數據庫系統,例如我們的云原生關系型數據庫PolarDB和云原生數據倉庫AnalyticDB(ADB)。
在云計算時代,由于對彈性、高可用性、可擴展性的需求以及來自不同業務領域的應用程序對按需使用的需求增長,云原生數據庫變得越來越重要。云應用程序的這些需求為云原生數據庫提供了新的機會,而傳統的企業內部數據庫系統無法完全滿足這些需求。通過探索共享存儲和完全共享的架構(shared-everything architecture),云原生數據庫利用底層云基礎設施提供的資源池,將計算與存儲分離,從而獲得了出色的彈性和高可用性。對于要求水平擴展的高并發工作負載,云原生數據庫可以進一步利用一個無共享層(shared-nothing layer)來提供分布式查詢和事務處理能力。我們的最終目標,為我們的業務運營和云客戶提供經濟高效、易于使用且高度可靠的數據庫服務。
ACM:在阿里巴巴雙11全球購物節期間,該網站的流量在幾秒鐘內可激增150倍。您的團隊開發了哪些工具來處理這類網站流量波動?您如何看待這些技術在將來的發展趨勢?
李飛飛:如上所述,在應對這樣的應用場景時,成功的關鍵是通過底層數據庫系統產生極高的彈性和高可用性。一眨眼間,流量就會突然激增,可操作的數據庫系統必須以經濟高效的方式來抵御這種海嘯般的「襲擊」。對于一個典型的、傳統的本地數據庫系統來說,必須要提前提供大量的硬件資源,以滿足峰值時的工作負載。而一旦高峰流量在短時間內減少,就可能會導致成本高昂和資源浪費。
相比之下,云原生數據庫系統能夠通過探索共享存儲和完全共享的架構,以按需的方式來進行自適應地、彈性地分配和釋放資源。計算和存儲的解耦,以及各種資源(計算機和存儲資源)的共享,使得云原生數據庫系統具有自適應性。我們還利用分布式查詢和事務處理,通過水平分區來提供進一步的可伸縮性,從而滿足高并發性的需求。
此外,Raft或Paxos等分布式共識協議得到了擴展和增強,使得可用區(available zone,AZ)內部和可用區之間都具有高可用性,從而可以在不擔心數據丟失和業務停機或中斷的情況下處理任何故障。同時,利用軟硬件協同設計來探索RDMA、NVMe等新硬件和DPDK等內核旁路協議所具有的加速和優化作用。
HTAP(Hybrid Transaction and Analytical Processing,混合事務和分析處理)是當今云原生數據庫系統追求的另外一個趨勢,它的目標是在雙11購物節時,為集群用戶的數據處理和分析需求提供一站式解決方案。
最后,很重要的一點是,自驅動數據庫(又稱“自治數據庫”)技術通過將機器學習技術與云原生編排組件(如kubernetes)和各種數據庫模塊(如慢SQL診斷、索引推薦)相結合,簡化了云設施上云原生數據庫的部署、維護和操作。例如,我們在阿里云建立了DAS(database autonomy service,數據庫自治服務),為雙11運營和云客戶提供服務,以確保我們的系統盡可能具有自我修復、自我調整和自適應能力。
ACM:您最著名的研究工作之一“Wander Join: Online Aggregation via Random Walks”在2016年第35屆ACM SIGMOD會議上獲得了最佳論文獎。在這項工作中,您和您的合作者提出了一種新的方法來處理復雜連接的在線查詢。這篇論文的主要觀點是什么?目前在查詢處理領域有哪些創新性探索?
李飛飛:查詢處理和優化是數據庫系統最關鍵的組成部分之一。在這方面,JOIN(一種用來從多表數據中查詢和訪問數據的SQL子句)是最常見但也最昂貴的數據庫操作。采樣提供的估測比計算精確結果要快得多,這對于查詢處理和優化任務來說非常重要。但是用JOIN來進行采樣是很困難的,這是近20年以來數據庫領域一直面臨的挑戰。在這項工作中,我們引入了新的數據采樣技術,以實現近似和交互式查詢處理(比如,提供在線的近似結果,并對結果的質量進行持續地改進)。在線估計器的質量會隨著時間的推移而提高,最終它會得到準確的結果。這對于大數據分析和查詢處理而言非常具有吸引力,因為用戶可以根據自己的意愿來發出查詢需求,并立即看到查詢結果,而且輸出的結果質量會逐漸提高,直到找到準確的結果為止(如果需要的話);否則用戶必須等待,不知道什么時候才能獲得最終的準確結果。它們還可用于查詢優化(例如,估計復雜查詢項目的中間查詢結果的基數)。
本文提出的漫游連接算法通過在連接圖上隨機游走,巧妙地實現了采樣。連接圖不是具體化的,而只是通過仔細的加權采樣過程和估計中的偏差調整來進行概念上的探索。這使得漫游連接算法在數量級上優于現有的方法,這大大推動了最先進技術的發展。正如我們在2017年ACM SIGMOD會議上被評為“研究亮點”的一篇論文中所說的,「在數據庫管理系統的研究歷史中,有大量的研究都曾利用采樣以一種比精確計算更快的速度來估計查詢結果。本文提出了一種高效的替代方案,實現了比以前最先進的技術還要更好的計算和統計特性;通過Postgres中的一種開源實現來進行的實驗令人信服地證明了這一點」。
漫游連接產生的是獨立但不均勻的樣本;但有時候,更復雜的分析操作(機器學習方法,比如支持向量機)需要的是獨立且均勻的隨機樣本。我們在SIGMOD'18中的后續工作展示了如何獲得復雜連接的真正隨機樣本。這項研究還帶來了一些領域的創新,比如基于學習的查詢處理和優化方法。這些想法在“DeepDB: Learn from Data, not from Queries!” 以及“BlinkML: Efficient Maximum Likelihood Estimation with Probabilistic Guarantees”等論文中都有所概述。我們這項工作還啟發了真實系統中的實際運用和設計問題。
ACM:機器學習方法是如何改變阿里巴巴等大型電子商務公司的?最重要的改變方式是什么?
李飛飛:機器學習在現代的進步已經對包括阿里巴巴在內的更多的組織和社會產生了根本性和持久的影響。舉個簡單的例子,阿里巴巴電子商務網站和應用程序中的推薦框架,要依賴經過精心設計和微調的深度學習模型,從而為瀏覽網站和應用程序的客戶提供更有效的商品匹配。當然,機器學習的影響不僅僅體現在推薦方面。在阿里巴巴數據中心的運營中,我們探索并利用機器學習技術構建了AIops這種智能監控和協調工具,以提高數據中心運營的效率和有效性。還有許多其他的場景和例子,也都可以表明機器學習和人工智能方法的變革性影響,它們越來越成為許多系統中的關鍵構建組件,包括上面提到的云原生數據庫系統(例如使云原生數據庫系統能夠進行自我調整)。
ACM:在加入阿里巴巴之前,您在美國猶他大學擔任教授。與學術界相比,在工業界工作的最顯著差異是什么?
李飛飛:在猶他大學計算機學院任職期間,我在計算機科學領域的研究和工程生涯的增長和豐富是巨大且難以形容的。那里擁有世界上最好的計算機教育和研究項目之一。我永遠感謝我所在的學院和學校。不過,在阿里巴巴這樣一家偉大的公司工作,無疑也為我理解計算機科學提供了一個不同的、豐富的視角,這既是一門技術型學科,也是一個日益重要的商業領域。為一家公司工作意味著你得總是把業務和客戶需求排在第一位,必須專注于由業務驅動的實際客戶需求。這并不一定意味著你可以沒有長期的規劃目標,但這些目標必須非常集中,而且要對具有精心設計、明確闡述的戰略計劃和商業價值的實際應用具有價值。
這與在學術界工作截然不同,在學術界,首要任務并不是創造商業價值,而是創造智力價值。最終目標往往是探索一個未解決的問題或挑戰,即使這樣的努力最終只是一種智力練習。但正是通過追求這種好奇心,才得以實現創新性突破,工程上的努力最終能夠使新技術的采用在實踐中普及和擴展。
歸根結底,無論是在學術界還是在工業界,這一切都是在為我們整個社會和文明的良好運行創造價值,為之做出貢獻。從我目前的角度來看,我相信我在學術界和工業界的職業生涯已經得到了相互補充和豐富了!